home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1994 August: Tool Chest / Dev.CD Aug 94.toast / New System Software Extensions / OpenDoc A6 / SOM / OpenDoc and SOM / C / LinkB.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-04-19  |  12.4 KB  |  399 lines  |  [TEXT/MPS ]

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: Locrian:WWDCSun:C:LinkB.h.
  5.  * Generated using:
  6.  *     SOM Precompiler somipc: somc/smemit.c
  7.  *     SOM Emitter emith.dll: somc/smmain.c
  8.  */
  9.  
  10. /*
  11.  * 
  12.  *  Theory of Operation
  13.  * 
  14.  * 
  15.  *  Classes defined in this interface
  16.  * 
  17.  */
  18.  
  19.  
  20. #ifndef SOM_ODBaseLink_h
  21. #define SOM_ODBaseLink_h
  22.  
  23.  
  24. #include <som.h>
  25.  
  26. /*
  27.  * -- This emitter treats Method Tokens as Thunks by default
  28.  * -- Use the sc modifier "nothunks" to change this default
  29.  */
  30. #undef somresolve_
  31. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  32.  
  33. /*
  34.  * Define the class name as an object type
  35.  */
  36. #ifndef ODBaseLink
  37. #define ODBaseLink SOMObject
  38. #endif
  39. #include <PstObj.h>
  40.  
  41. /*
  42.  * Start of user-defined types:
  43.  */
  44. #ifndef ODExtension
  45.     #define ODExtension SOMObject
  46. #endif /* ODExtension */
  47. #ifndef ODLinkSource
  48.     #define ODLinkSource SOMObject
  49. #endif /* ODLinkSource */
  50. #ifndef ODStorageUnit
  51.     #define ODStorageUnit SOMObject
  52. #endif /* ODStorageUnit */
  53. #ifndef ODPart
  54.     #define ODPart SOMObject
  55. #endif /* ODPart */
  56. #ifndef ODPartList
  57.     #define ODPartList SOMObject
  58. #endif /* ODPartList */
  59. #ifndef ODDraft
  60.     #define ODDraft SOMObject
  61. #endif /* ODDraft */
  62.  
  63. /*
  64.  * End of user-defined types.
  65.  */
  66.  
  67. #define ODBaseLink_MajorVersion 1
  68. #define ODBaseLink_MinorVersion 0
  69.  
  70. /*
  71.  * External name shortening if required
  72.  */
  73. #ifdef SOM_USE_SHORT_EXTERNAL_NAMES
  74. #define ODBaseLinkNewClass c
  75. #define ODBaseLinkClassData d
  76. #define ODBaseLinkCClassData x
  77. #endif /* SOM_USE_SHORT_EXTERNAL_NAMES */
  78. /*--------------Migration------------*/
  79. #define ODBaseLink_classObj ODBaseLinkClassData.classObject
  80. #define _ODBaseLink ODBaseLink_classObj
  81.  
  82. /*
  83.  * Declare the class creation procedure
  84.  */
  85.  
  86. #if applec ^ PRAGMA_LIB_EXPORT
  87. #pragma lib_export on
  88. #endif
  89.  
  90. SOMEXTERN SOMClass * SOMLINK ODBaseLinkNewClass(integer4 somtmajorVersion,
  91.         integer4 somtminorVersion);
  92.  
  93. /*
  94.  * Declare the class data structure
  95.  */
  96. SOMEXTERN struct ODBaseLinkClassDataStructure {
  97.     SOMAny *classObject;
  98.     somMToken Lock;
  99.     somMToken Unlock;
  100.     somMToken GetContentStorageUnit;
  101.     somMToken RegisterDependent;
  102.     somMToken UnregisterDependent;
  103.     somMToken GetChangeID;
  104.     somMToken GetChangeTime;
  105.     somMToken GetStatus;
  106.     somMToken ShowSourceContent;
  107.     somMToken UpdateDependents;
  108.     somMToken CloneTo;
  109.     somMToken reserved1;
  110.     somMToken reserved2;
  111. }
  112. #ifdef SOM_NO_DATA_EXPORTS
  113.     * ODBaseLinkGetClassData ( void );
  114. #   undef ODBaseLinkClassData
  115. #   define ODBaseLinkClassData (*ODBaseLinkGetClassData())
  116. #else
  117.       ODBaseLinkClassData;
  118. #endif /* SOM_NO_DATA_EXPORTS */
  119.  
  120. #if applec ^ PRAGMA_LIB_EXPORT
  121. #pragma lib_export off
  122. #endif
  123.  
  124.  
  125. /*
  126.  * Declare the C specific class data structure
  127.  */
  128. SOMEXTERN struct ODBaseLinkCClassDataStructure {
  129.     somMethodTabs parentMtab;
  130.     somDToken instanceDataToken;
  131. } ODBaseLinkCClassData;
  132.  
  133. /*
  134.  * New and Renew macros for ODBaseLink
  135.  */
  136. #define ODBaseLinkNew() \
  137.     ( ( ! (ODBaseLinkClassData.classObject) && \
  138.         (ODBaseLinkNewClass(ODBaseLink_MajorVersion, ODBaseLink_MinorVersion)) ), \
  139.       (_somNew(ODBaseLinkClassData.classObject)) )
  140. #define ODBaseLinkRenew(buf) \
  141.     ( _somRenew(ODBaseLinkClassData.classObject, buf) )
  142.  
  143. /*
  144.  * Override method: somInit
  145.  */
  146. #define ODBaseLink_somInit(somSelf) \
  147.     SOMObject_somInit(somSelf)
  148.  
  149. /*
  150.  * Override method: somUninit
  151.  */
  152. #define ODBaseLink_somUninit(somSelf) \
  153.     SOMObject_somUninit(somSelf)
  154.  
  155. /*
  156.  * New Method: Lock
  157.  */
  158. typedef ODBoolean   (SOMLINK *somTD_ODBaseLink_Lock)(ODBaseLink *somSelf, Environment *ev,
  159.         ODULong wait,
  160.         ODLinkKey key);
  161. #define somMD_ODBaseLink_Lock "::ODBaseLink::Lock"
  162. #define ODBaseLink_Lock(somSelf,ev,wait,key) \
  163.     (SOM_Resolve(somSelf, ODBaseLink, Lock) \
  164.     (somSelf,ev,wait,key))
  165. #ifndef SOMGD_Lock
  166.     #if (defined(_Lock) || defined(__Lock))
  167.         #undef _Lock
  168.         #undef __Lock
  169.         #define SOMGD_Lock 1
  170.     #else
  171.         #define _Lock ODBaseLink_Lock
  172.     #endif /* _Lock */
  173. #endif /* SOMGD_Lock */
  174.  
  175. /*
  176.  * New Method: Unlock
  177.  */
  178. typedef void   (SOMLINK *somTD_ODBaseLink_Unlock)(ODBaseLink *somSelf, Environment *ev,
  179.         ODLinkKey key);
  180. #define somMD_ODBaseLink_Unlock "::ODBaseLink::Unlock"
  181. #define ODBaseLink_Unlock(somSelf,ev,key) \
  182.     (SOM_Resolve(somSelf, ODBaseLink, Unlock) \
  183.     (somSelf,ev,key))
  184. #ifndef SOMGD_Unlock
  185.     #if (defined(_Unlock) || defined(__Unlock))
  186.         #undef _Unlock
  187.         #undef __Unlock
  188.         #define SOMGD_Unlock 1
  189.     #else
  190.         #define _Unlock ODBaseLink_Unlock
  191.     #endif /* _Unlock */
  192. #endif /* SOMGD_Unlock */
  193.  
  194. /*
  195.  * New Method: GetContentStorageUnit
  196.  */
  197. typedef ODStorageUnit*   (SOMLINK *somTD_ODBaseLink_GetContentStorageUnit)(ODBaseLink *somSelf, Environment *ev,
  198.         ODLinkKey key);
  199. #define somMD_ODBaseLink_GetContentStorageUnit "::ODBaseLink::GetContentStorageUnit"
  200. #define ODBaseLink_GetContentStorageUnit(somSelf,ev,key) \
  201.     (SOM_Resolve(somSelf, ODBaseLink, GetContentStorageUnit) \
  202.     (somSelf,ev,key))
  203. #ifndef SOMGD_GetContentStorageUnit
  204.     #if (defined(_GetContentStorageUnit) || defined(__GetContentStorageUnit))
  205.         #undef _GetContentStorageUnit
  206.         #undef __GetContentStorageUnit
  207.         #define SOMGD_GetContentStorageUnit 1
  208.     #else
  209.         #define _GetContentStorageUnit ODBaseLink_GetContentStorageUnit
  210.     #endif /* _GetContentStorageUnit */
  211. #endif /* SOMGD_GetContentStorageUnit */
  212.  
  213. /*
  214.  * New Method: RegisterDependent
  215.  */
  216. typedef void   (SOMLINK *somTD_ODBaseLink_RegisterDependent)(ODBaseLink *somSelf, Environment *ev,
  217.         ODPart* clientPart,
  218.         ODChangeID id);
  219. #define somMD_ODBaseLink_RegisterDependent "::ODBaseLink::RegisterDependent"
  220. #define ODBaseLink_RegisterDependent(somSelf,ev,clientPart,id) \
  221.     (SOM_Resolve(somSelf, ODBaseLink, RegisterDependent) \
  222.     (somSelf,ev,clientPart,id))
  223. #ifndef SOMGD_RegisterDependent
  224.     #if (defined(_RegisterDependent) || defined(__RegisterDependent))
  225.         #undef _RegisterDependent
  226.         #undef __RegisterDependent
  227.         #define SOMGD_RegisterDependent 1
  228.     #else
  229.         #define _RegisterDependent ODBaseLink_RegisterDependent
  230.     #endif /* _RegisterDependent */
  231. #endif /* SOMGD_RegisterDependent */
  232.  
  233. /*
  234.  * New Method: UnregisterDependent
  235.  */
  236. typedef void   (SOMLINK *somTD_ODBaseLink_UnregisterDependent)(ODBaseLink *somSelf, Environment *ev,
  237.         ODPart* clientPart);
  238. #define somMD_ODBaseLink_UnregisterDependent "::ODBaseLink::UnregisterDependent"
  239. #define ODBaseLink_UnregisterDependent(somSelf,ev,clientPart) \
  240.     (SOM_Resolve(somSelf, ODBaseLink, UnregisterDependent) \
  241.     (somSelf,ev,clientPart))
  242. #ifndef SOMGD_UnregisterDependent
  243.     #if (defined(_UnregisterDependent) || defined(__UnregisterDependent))
  244.         #undef _UnregisterDependent
  245.         #undef __UnregisterDependent
  246.         #define SOMGD_UnregisterDependent 1
  247.     #else
  248.         #define _UnregisterDependent ODBaseLink_UnregisterDependent
  249.     #endif /* _UnregisterDependent */
  250. #endif /* SOMGD_UnregisterDependent */
  251.  
  252. /*
  253.  * New Method: GetChangeID
  254.  */
  255. typedef ODChangeID   (SOMLINK *somTD_ODBaseLink_GetChangeID)(ODBaseLink *somSelf, Environment *ev);
  256. #define somMD_ODBaseLink_GetChangeID "::ODBaseLink::GetChangeID"
  257. #define ODBaseLink_GetChangeID(somSelf,ev) \
  258.     (SOM_Resolve(somSelf, ODBaseLink, GetChangeID) \
  259.     (somSelf,ev))
  260. #ifndef SOMGD_GetChangeID
  261.     #if (defined(_GetChangeID) || defined(__GetChangeID))
  262.         #undef _GetChangeID
  263.         #undef __GetChangeID
  264.         #define SOMGD_GetChangeID 1
  265.     #else
  266.         #define _GetChangeID ODBaseLink_GetChangeID
  267.     #endif /* _GetChangeID */
  268. #endif /* SOMGD_GetChangeID */
  269.  
  270. /*
  271.  * New Method: GetChangeTime
  272.  */
  273. typedef ODTime   (SOMLINK *somTD_ODBaseLink_GetChangeTime)(ODBaseLink *somSelf, Environment *ev);
  274. #define somMD_ODBaseLink_GetChangeTime "::ODBaseLink::GetChangeTime"
  275. #define ODBaseLink_GetChangeTime(somSelf,ev) \
  276.     (SOM_Resolve(somSelf, ODBaseLink, GetChangeTime) \
  277.     (somSelf,ev))
  278. #ifndef SOMGD_GetChangeTime
  279.     #if (defined(_GetChangeTime) || defined(__GetChangeTime))
  280.         #undef _GetChangeTime
  281.         #undef __GetChangeTime
  282.         #define SOMGD_GetChangeTime 1
  283.     #else
  284.         #define _GetChangeTime ODBaseLink_GetChangeTime
  285.     #endif /* _GetChangeTime */
  286. #endif /* SOMGD_GetChangeTime */
  287.  
  288. /*
  289.  * New Method: GetStatus
  290.  */
  291. typedef ODError   (SOMLINK *somTD_ODBaseLink_GetStatus)(ODBaseLink *somSelf, Environment *ev);
  292. #define somMD_ODBaseLink_GetStatus "::ODBaseLink::GetStatus"
  293. #define ODBaseLink_GetStatus(somSelf,ev) \
  294.     (SOM_Resolve(somSelf, ODBaseLink, GetStatus) \
  295.     (somSelf,ev))
  296. #ifndef SOMGD_GetStatus
  297.     #if (defined(_GetStatus) || defined(__GetStatus))
  298.         #undef _GetStatus
  299.         #undef __GetStatus
  300.         #define SOMGD_GetStatus 1
  301.     #else
  302.         #define _GetStatus ODBaseLink_GetStatus
  303.     #endif /* _GetStatus */
  304. #endif /* SOMGD_GetStatus */
  305.  
  306. /*
  307.  * New Method: ShowSourceContent
  308.  */
  309. typedef void   (SOMLINK *somTD_ODBaseLink_ShowSourceContent)(ODBaseLink *somSelf, Environment *ev);
  310. #define somMD_ODBaseLink_ShowSourceContent "::ODBaseLink::ShowSourceContent"
  311. #define ODBaseLink_ShowSourceContent(somSelf,ev) \
  312.     (SOM_Resolve(somSelf, ODBaseLink, ShowSourceContent) \
  313.     (somSelf,ev))
  314. #ifndef SOMGD_ShowSourceContent
  315.     #if (defined(_ShowSourceContent) || defined(__ShowSourceContent))
  316.         #undef _ShowSourceContent
  317.         #undef __ShowSourceContent
  318.         #define SOMGD_ShowSourceContent 1
  319.     #else
  320.         #define _ShowSourceContent ODBaseLink_ShowSourceContent
  321.     #endif /* _ShowSourceContent */
  322. #endif /* SOMGD_ShowSourceContent */
  323.  
  324. /*
  325.  * New Method: UpdateDependents
  326.  */
  327. typedef void   (SOMLINK *somTD_ODBaseLink_UpdateDependents)(ODBaseLink *somSelf, Environment *ev,
  328.         ODChangeID id);
  329. #define somMD_ODBaseLink_UpdateDependents "::ODBaseLink::UpdateDependents"
  330. #define ODBaseLink_UpdateDependents(somSelf,ev,id) \
  331.     (SOM_Resolve(somSelf, ODBaseLink, UpdateDependents) \
  332.     (somSelf,ev,id))
  333. #ifndef SOMGD_UpdateDependents
  334.     #if (defined(_UpdateDependents) || defined(__UpdateDependents))
  335.         #undef _UpdateDependents
  336.         #undef __UpdateDependents
  337.         #define SOMGD_UpdateDependents 1
  338.     #else
  339.         #define _UpdateDependents ODBaseLink_UpdateDependents
  340.     #endif /* _UpdateDependents */
  341. #endif /* SOMGD_UpdateDependents */
  342.  
  343. /*
  344.  * New Method: CloneTo
  345.  */
  346. typedef ODStorageUnit*   (SOMLINK *somTD_ODBaseLink_CloneTo)(ODBaseLink *somSelf, Environment *ev,
  347.         ODDraftKey draftKey,
  348.         ODDraft* destDraft);
  349. #define somMD_ODBaseLink_CloneTo "::ODBaseLink::CloneTo"
  350. #define ODBaseLink_CloneTo(somSelf,ev,draftKey,destDraft) \
  351.     (SOM_Resolve(somSelf, ODBaseLink, CloneTo) \
  352.     (somSelf,ev,draftKey,destDraft))
  353. #ifndef SOMGD_CloneTo
  354.     #if (defined(_CloneTo) || defined(__CloneTo))
  355.         #undef _CloneTo
  356.         #undef __CloneTo
  357.         #define SOMGD_CloneTo 1
  358.     #else
  359.         #define _CloneTo ODBaseLink_CloneTo
  360.     #endif /* _CloneTo */
  361. #endif /* SOMGD_CloneTo */
  362. #ifndef SOM_DONT_USE_INHERITED_MACROS
  363. #define ODBaseLink_InitPersistentObject ODPersistentObject_InitPersistentObject
  364. #define ODBaseLink_InitPersistentObjectFromStorage ODPersistentObject_InitPersistentObjectFromStorage
  365. #define ODBaseLink_ReleaseAll ODPersistentObject_ReleaseAll
  366. #define ODBaseLink_Externalize ODPersistentObject_Externalize
  367. #define ODBaseLink_GetStorageUnit ODPersistentObject_GetStorageUnit
  368. #define ODBaseLink_GetID ODPersistentObject_GetID
  369. #define ODBaseLink_InitRefCntObject ODRefCntObject_InitRefCntObject
  370. #define ODBaseLink_IncrementRefCount ODRefCntObject_IncrementRefCount
  371. #define ODBaseLink_Release ODRefCntObject_Release
  372. #define ODBaseLink_GetRefCount ODRefCntObject_GetRefCount
  373. #define ODBaseLink_InitObject ODObject_InitObject
  374. #define ODBaseLink_IsInitialized ODObject_IsInitialized
  375. #define ODBaseLink_HasExtension ODObject_HasExtension
  376. #define ODBaseLink_GetExtension ODObject_GetExtension
  377. #define ODBaseLink_ReleaseExtension ODObject_ReleaseExtension
  378. #define ODBaseLink_Purge ODObject_Purge
  379. #define ODBaseLink_SubClassResponsibility ODObject_SubClassResponsibility
  380. #define ODBaseLink_somFree SOMObject_somFree
  381. #define ODBaseLink_somGetClass SOMObject_somGetClass
  382. #define ODBaseLink_somGetClassName SOMObject_somGetClassName
  383. #define ODBaseLink_somGetSize SOMObject_somGetSize
  384. #define ODBaseLink_somIsA SOMObject_somIsA
  385. #define ODBaseLink_somIsInstanceOf SOMObject_somIsInstanceOf
  386. #define ODBaseLink_somRespondsTo SOMObject_somRespondsTo
  387. #define ODBaseLink_somDispatchV SOMObject_somDispatchV
  388. #define ODBaseLink_somDispatchL SOMObject_somDispatchL
  389. #define ODBaseLink_somDispatchA SOMObject_somDispatchA
  390. #define ODBaseLink_somDispatchD SOMObject_somDispatchD
  391. #define ODBaseLink_somDispatch SOMObject_somDispatch
  392. #define ODBaseLink_somClassDispatch SOMObject_somClassDispatch
  393. #define ODBaseLink_somPrintSelf SOMObject_somPrintSelf
  394. #define ODBaseLink_somDumpSelf SOMObject_somDumpSelf
  395. #define ODBaseLink_somDumpSelfInt SOMObject_somDumpSelfInt
  396. #endif /* SOM_DONT_USE_INHERITED_MACROS */
  397.  
  398. #endif       /* SOM_ODBaseLink_h */
  399.